package com.ctshk.rpc.goods.service;

import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.goods.dto.CommoditySpecificationsNameDTO;
import com.ctshk.rpc.goods.dto.CommoditySpecificationsPageDTO;
import com.ctshk.rpc.goods.req.CommoditySpecificationsNameAddReq;
import com.ctshk.rpc.goods.req.CommoditySpecificationsNamePageReq;


/**
 * <p>
 * 商品规格名称 服务类
 * </p>
 *
 * @author 姜斌文
 * @since 2021-04-12
 */
public interface ICommoditySpecificationsNameService {
	/**
	 * 新增商品规格名称
	 * @param addReq 商品规格名称入参对象
	 * @param userId 用户ID
	 * @throws Exception 異常
	 */
	void addCommoditySpecificationsName(CommoditySpecificationsNameAddReq addReq, Long userId) throws Exception;
	
	/**
	 * 编辑商品规格名称
	 * @param addReq 更新商品规格名称入参对象
	 * @param userId 用户ID
	 * @throws Exception  異常
	 */
	void updateCommoditySpecificationsName(CommoditySpecificationsNameAddReq addReq, Long userId) throws Exception;
	
	/**
     * 商品规格名称管理列表查询
     * @param pageReq  分页条件入参
     * @param tokenUser  登录用户
     * @return 商品规格名称管理分页列表
     */
    PageResponse<CommoditySpecificationsPageDTO> findCommoditySpecificationsName(CommoditySpecificationsNamePageReq pageReq, TokenUser tokenUser);

}
